草庐IT

CountDownLatch和ExecutorService 线程池cachedThreadPool.submit

全部标签

java - Java 中带有 invokeAll() 和 Future 的 ExecutorService

手头有以下代码:ExecutorServiceexecutor=Executors.newFixedThreadPool(10);Collectioncollection=newArrayList();for(intn=1;n>futures=executor.invokeAll(collection);for(Futurefuture:futures){future.get();if(future.isDone()){System.out.println("true");}elseSystem.out.println("false");}}catch(Exceptione){e.pr

java - 在Java中的不同线程中运行后台进程

我正在编写一个应用程序,用户可以在其中添加和删除其他用户的好友。我的页面有一个不同用户的列表,每个用户都有一个按钮可以将他们添加到friend列表中。我正在向Javaservlet发送AJAX请求以将所选用户添加为好友。我在UI上显示警告消息以显示处理结果。我的问题是当用户被添加为好友时我必须发送一封邮件这个代码是在servlet中用相同的方法编写的。由于这段代码,我的警报消息来得很晚。我需要运行一个单独的pthread来运行这个发送邮件功能,这样一旦添加了用户我就会得到结果并且邮件将在单独的进程中发送。我在Servlet中的代码是privatevoidsendMail(longinv

java - 如何检查线程是否终止?

线程什么时候达到终止状态?当到达run()方法的末尾时它是否终止?那么检查线程是否终止的正确方法是什么?因为以下条件对我来说似乎总是正确的if(!(thread.getState()).equals("TERMINATED")){}有什么想法吗? 最佳答案 第一个:Thread.getState()返回Thread.State,它永远不会等于String,因此您需要像这样编写该代码:if(thread.getState()!=Thread.State.TERMINATED){}是的:当run()方法结束时(正常结束或因为它抛出异常)

java - 线程 "main"java.io.FileNotFoundException : Error 中的异常

我正在使用Eclipse来编译和运行我的java代码。这是我遇到的错误。Exceptioninthread"main"java.io.FileNotFoundException:file.txt(Thesystemcannotfindthefilespecified)atjava.io.FileInputStream.open(NativeMethod)atjava.io.FileInputStream.(UnknownSource)atjava.util.Scanner.(UnknownSource)athelloworld.main(helloworld.java:9)这是我的代码

java - 如何在 Java 中正确制作线程安全的单例工厂?

这个问题在这里已经有了答案:WhatisanefficientwaytoimplementasingletonpatterninJava?[closed](29个答案)关闭8年前。这是我第一次编写Factory类。下面是我的工厂类,我不确定这是否是创建线程安全单例工厂类的正确方法。我将使用该工厂返回我的客户实例吗?publicclassClientFactory{privatestaticClientFactoryinstance=null;privateClientFactory(){}publicstaticClientFactorygetInstance(){if(instanc

c# - 让你的集合线程安全?

在设计一个集合类的时候,有什么理由不实现私有(private)锁来保证线程安全呢?或者我应该把这个责任留给Collection品的消费者吗? 最佳答案 isthereanyreasonnottoimplementlockingprivatelytomakeitthreadsafe?这取决于。您的目标是编写一个由多个线程访问的集合类吗?如果是这样,请使其成为线程安全的。如果没有,请不要浪费你的时间。这种东西就是人们所说的‘过早优化’解决您遇到的问题。不要试图解决您认为可能会在未来几年内遇到的future问题,因为您看不到future,

Java,不要等待线程完成

我需要找到一种方法来从静态调用中分离出一个线程,而不是等待线程完成。基本上,这是一种“即发即忘”的方法。有人能给我提供一个简单的例子来说明如何实现吗? 最佳答案 Threadt=newThread(newYourClassThatImplementsRunnable());t.start();//JDK8newThread(()->methodYouWantToRun()).start(); 关于Java,不要等待线程完成,我们在StackOverflow上找到一个类似的问题:

java - 顺序运行 Java 线程

您将如何顺序执行三个线程?例如。线程1、线程2、线程3。无法将一个线程的引用传递给另一个线程并从run()方法调用。所以代码应该是这样的:Thread1.start();Thread2.start();Thread3.start();输出应该是PrintingThread1PrintingThread2PrintingThread3这可以通过使用ThreadPoolExecutor和使用阻塞队列来实现,但即使这样也不是一个可接受的答案。 最佳答案 你可以使用Executors.newSingleThreadExecutor(),但严

用于带有 GSM 调制解调器 rxtx 的 IVRS 的 Java 多线程(播放语音文件使事件监听器停止工作)

我已经实现了一个程序来使用gsm调制解调器接听电话。在检测到“RING”调用被应答时,通过从DATA_AVAILABLE事件处理程序内部调用函数来播放音频剪辑。但是事件处理程序在此之后停止工作。音频完成后,事件处理程序不再显示任何数据接收事件。为什么事件监听器停止工作。从事件处理程序内部播放音频是我做错了吗?我正在考虑从data_received事件处理程序内部设置一个变量true或false并创建自定义事件处理程序来监听对该变量的更改以播放音频,这两者是否可以同时工作?如何创建多线程解决方案,使串行I/O不被中断,并且音频播放和音频采样可以以同步方式完成以检测dtmf音调。有什么办法

java - 当有多个 AWT-EventQueue 线程时如何选择

我使用DLL注入(inject)和一些jni技巧成功地将我自己的Java代码注入(inject)到正在运行的OracleForms应用程序中。(Windows7、32位、OracleForms11、JREJava8)我能够遍历组件树并在一些基本Java对象中查询和设置值,例如类oracle.forms.ui.VTextField我在尝试模拟用户点击oracle.apps.fnd.ui.Button时卡住了我尝试了两件事:调用AbstractButton类的simulatePush方法调用PushButton类的activate方法(这2个类在Button的类层次结构中)结果相同:1.起